package com.molichuxing.services.infrastructure.service;

import java.util.List;
import java.util.Map;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.EnterpriseCreateDto;
import com.molichuxing.services.infrastructure.dto.request.modify.EnterpriseModifyDto;
import com.molichuxing.services.infrastructure.dto.response.EnterpriseDto;

/**
 * 
 * @author liyg
 * 企业用户服务
 * 2020-06-02
 * 
 */
public interface EnterpriseService extends RootService{

	/**
	 * 获取企业用户详情
	 * 
	 * @param id
	 *            用户id
	 * @return
	 */
	EnterpriseDto getEnterprise(Integer id);
	 
	
	/**
	 * 获取企业用户信息（模糊）
	 * 
	 * @param name
	 *            企业名称
	 * @return
	 */
	List<EnterpriseDto> getEnterpriseFuzzyByName(String name);
	
	/**
	 * 获取企业用户信息（精准）
	 * 
	 * @param name
	 *            企业名称
	 * @return
	 */
	EnterpriseDto getEnterpriseByName(String name);
	
	/**
	 * 根据企业用户ids查询信息
	 * @param ids
	 * @return
	 */
    Map<Integer,EnterpriseDto> getEnterpriseByIds(List<Integer> ids);
	
	/**
	 * 获取企业用户列表
	 * 
	 * @param map
	 *            参数
	 * @param key:name
	 *            String 企业名称 非必填
	 * @param key:regionId
	 *            Integer 城市id 非必填
	 *@param  key:startTime
	 *            LocalDateTime 创建开始时间
	 *@param  key:endTime
	 *            LocalDateTime 创建结束时间        
	 *@param  key:sortName   
	 *            String 排序字段 
	 *@param  key:sortWay 
	 *            String 排序方式 
	 * @param key:pageNum
	 *            Integer 当前页
	 * @param key:pageSize
	 *            Integer 每页显示条数
	 * @return
	 */
	Paged<EnterpriseDto> getEnterpriseList(Map<String, Object> map);
	
	/**
	 * 新增企业用户信息
	 * @param createDto
	 * @return
	 */
	Boolean create(EnterpriseCreateDto  createDto);
	
	/**
	 * 修改企业用户信息
	 * @param modify
	 * @return
	 */
	Boolean Modify(EnterpriseModifyDto  modifyDto);
}
